//
// Created by 17775 on 2024/10/23.
//

#ifndef RAYCI_TIME_SERIES_H
#define RAYCI_TIME_SERIES_H

#include <QDockWidget>
#include "RayCiPro_C.h"
#include <windows.h>
#include <shellapi.h>

class Time_Series : public QDockWidget {
Q_OBJECT

signals:
    void setDelayMin(double min);

public slots:
    void exportReport();

public:
    int _iTimeSeriesDocId = 0;

    // Measure
    void setFrameSpan(int frames) const;
    int getFrameSpan() const;
    bool isFrameSpan() const;
    void setTimeSpan(double dTime) const;
    double getTimeSpan() const;
    double getDelayTimeMin() const;
    void setDelayTime(double  dDelay);
    void setDelayTimeAlwaysMin() const;
    void setMeasurementCount(int value) const;
    int getMeasurementCount() const;
    bool isFreeRunning() const;
    void setFreeRunning(bool freeRunning) const;
    void setMedian(bool bMedian) const;
    void setSingleShot(bool bSingleShot) const;
    QString getRecordingRemark();
    void clearRecording();
    void stopRecording();

    // Sequence
    int32_t getCurrentItem() const;
    int32_t getItemCount() const;
    QString getItemInfo(int index) const;
    void setCurrentItem(int index) const;
    void getRefreshingState() const;
    void refresh() const;

    // Window
    void closeTimeSeriesWindow(bool bWaitWhileClosing) const;

private:

};


#endif //RAYCI_TIME_SERIES_H
